summaryrefslogtreecommitdiff
path: root/app/[lng]/evcp/(evcp)/permissions/page.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'app/[lng]/evcp/(evcp)/permissions/page.tsx')
-rw-r--r--app/[lng]/evcp/(evcp)/permissions/page.tsx72
1 files changed, 72 insertions, 0 deletions
diff --git a/app/[lng]/evcp/(evcp)/permissions/page.tsx b/app/[lng]/evcp/(evcp)/permissions/page.tsx
new file mode 100644
index 00000000..2d7b94e2
--- /dev/null
+++ b/app/[lng]/evcp/(evcp)/permissions/page.tsx
@@ -0,0 +1,72 @@
+// app/evcp/(evcp)/permissions/page.tsx
+
+"use client";
+
+import { useState } from "react";
+import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
+import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
+import { Badge } from "@/components/ui/badge";
+import { Button } from "@/components/ui/button";
+import { Input } from "@/components/ui/input";
+import { Shield, Users, Key, Menu, Search, Plus } from "lucide-react";
+import { RolePermissionManager } from "@/components/permissions/role-permission-manager";
+import { PermissionAssignmentManager } from "@/components/permissions/permission-assignment-manager";
+import { UserPermissionManager } from "@/components/permissions/user-permission-manager";
+import { MenuPermissionManager } from "@/components/permissions/menu-permission-manager";
+
+export default function PermissionManagementPage() {
+ const [searchTerm, setSearchTerm] = useState("");
+ const [selectedTab, setSelectedTab] = useState("by-role");
+
+ return (
+ <div className="container mx-auto p-6">
+ <div className="mb-6">
+ <h1 className="text-3xl font-bold mb-2">권한 관리</h1>
+ <p className="text-muted-foreground">
+ 시스템 권한을 역할, 사용자, 메뉴별로 관리합니다.
+ </p>
+ </div>
+
+ <Tabs value={selectedTab} onValueChange={setSelectedTab}>
+ <TabsList className="grid w-full grid-cols-4">
+ <TabsTrigger value="by-role">
+ <Users className="mr-2 h-4 w-4" />
+ 역할별 관리
+ </TabsTrigger>
+ <TabsTrigger value="by-user">
+ <Shield className="mr-2 h-4 w-4" />
+ 사용자별 관리
+ </TabsTrigger>
+ <TabsTrigger value="by-permission">
+ <Key className="mr-2 h-4 w-4" />
+ 권한별 관리
+ </TabsTrigger>
+ <TabsTrigger value="by-menu">
+ <Menu className="mr-2 h-4 w-4" />
+ 메뉴별 관리
+ </TabsTrigger>
+ </TabsList>
+
+ {/* 역할별 권한 관리 */}
+ <TabsContent value="by-role">
+ <RolePermissionManager />
+ </TabsContent>
+
+ {/* 사용자별 권한 관리 */}
+ <TabsContent value="by-user">
+ <UserPermissionManager />
+ </TabsContent>
+
+ {/* 권한별 사용자/역할 관리 */}
+ <TabsContent value="by-permission">
+ <PermissionAssignmentManager />
+ </TabsContent>
+
+ {/* 메뉴별 권한 설정 */}
+ <TabsContent value="by-menu">
+ <MenuPermissionManager />
+ </TabsContent>
+ </Tabs>
+ </div>
+ );
+} \ No newline at end of file